Challenge #21: Date Reformatting 〜日付の表記の修正〜 – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryx CommunityのWeekly Challengeに挑戦するシリーズ。今回は日付の表記の修正に挑戦します。
Challenge #21: Date Reformatting
お題
今回挑戦するお題はこちら。
「Input」側のデータはこちら。
「Output」側のデータはこちら。「Date」列から月と年を分けて出力しています。
解答の概要
今回作成するワーフクローは以下の通りです。
Multi-Row Formulaツール(Preparation -> Multi-Row Formula)を2つ使用します。
解答の詳細
まず、1つ目のMulti-Row Formulaツールで「Month」列を作成します。
式は以下の通り設定しています。
if length([Date]) == 3 then "Jan" elseif [Date] == "F" then "Feb" elseif [Date] == "M" and [Row-1:Date] == "F" then "Mar" elseif [Date] == "A" and [Row-1:Date] == "M" then "Apr" elseif [Date] == "M" and [Row-1:Date] == "A" then "May" elseif [Date] == "J" and [Row-1:Date] == "M" then "Jun" elseif [Date] == "J" and [Row-1:Date] == "J" then "Jul" elseif [Date] == "A" and [Row-1:Date] == "J" then "Aug" elseif [Date] == "S" then "Sep" elseif [Date] == "O" then "Oct" elseif [Date] == "N" then "Nov" else "Dec" endif
「Date」列の文字によって「Month」列に月を出力しています。「M」など月を判別できない文字については、1つ上の文字を確認して「Month」列に出力する月を判別しています。
2つ目のMulti-Row Formulaツールで「Year」列を作成します。「07」というように「0」を出力するため、Type には V_WString
を指定しています。
式は以下の通り設定しています。
if Length([Date]) == 3 then Right([Date], 2) else [Row-1:Year] endif
- 「Date」列が3文字の場合は「Date」列の右から2文字を出力
- それ以外の場合は1つ上の「Year」列を出力
ワークフローを実行、結果を確認して完成です。
最後に
今回はWeekly ChallengeのChallenge #21: Date Reformattingに挑戦しました。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。